package cn.shujuhai.workflow.domain;

import cn.shujuhai.common.domain.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.validation.annotation.Validated;

/**
 * @TableName form_config
 */
@TableName(value = "form_config")
@Data
@EqualsAndHashCode(callSuper = true)
public class Form extends BaseDomain {
    /**
     * 表单ID
     */
    @TableId(type = IdType.AUTO)
    private Long formId;

    /**
     * 表单名称
     */
    @NotNull(message = "表单名称不能为空")
    @Size(max = 20, message = "表单名称长度不能超过20个字符")
    private String formName;

    /**
     * 表单类型（0：普通表单，1：调查问卷，2：工作流表单）
     */
    private Integer formType;

    /**
     * 表单数据结构
     */
    @NotNull(message = "表单数据结构不能为空")
    private Object fieldData;
    /**
     * 表单背景图
     */
    private String background;
    /**
     * 禁用状态：0启用，1禁用
     */
    private Integer status;


}